package com.powernode.ssm.consumer;

import com.powernode.ssm.config.RabbitMQConfig;
import com.powernode.ssm.pojo.bo.SmsMessage;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
@Slf4j
public class SmsConsumer {

    // 监听短信队列
    @RabbitListener(queues = RabbitMQConfig.SMS_QUEUE)
    public void processSmsMessage(SmsMessage smsMessage) {
        try {
            String phoneNumber = smsMessage.getPhoneNumber();
            String message = smsMessage.getMessage();

            log.info("收到短信任务 -> 手机号: {}, 内容: {}", phoneNumber, message);

            // TODO: 调用真实的短信服务 API 发送短信
            sendSmsThroughProvider(phoneNumber, message);

            log.info("短信已发送至: {}", phoneNumber);
        } catch (Exception e) {
            log.error("发送短信失败", e);
        }
    }

    // 模拟调用短信服务商发送短信（需替换为真实实现）
    private void sendSmsThroughProvider(String phoneNumber, String message) {
        // 实际项目中，这里应该调用阿里云 SMS、腾讯云 SMS 等的 SDK
        // 例如：使用阿里云 SMS 的 Java SDK 发送短信
        System.out.println("[短信服务] 向手机号 " + phoneNumber + " 发送短信: " + message);
    }
}